home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / Development Tools & Languages / • Other Platforms / PCCTS / support / sym / template.h < prev   
Encoding:
C/C++ Source or Header  |  1994-09-14  |  869 b   |  42 lines  |  [TEXT/MPS ]

  1. /* T e m p l a t e  F o r  S y m b o l  T a b l e  M a n a g e r */
  2.  
  3. /* define some hash function */
  4. #ifndef HASH
  5. #define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
  6. #endif
  7.  
  8. /* minimum symbol table record */
  9. typedef struct _sym {
  10.             char *symbol;
  11.             struct _sym *next, *prev, **head, *scope;
  12.             unsigned int hash;
  13.         } Sym, *SymPtr;
  14.  
  15. #ifdef __STDC__
  16. void zzs_init(int, int);
  17. void zzs_done(void);
  18. void zzs_add(char *, Sym *);
  19. Sym *zzs_get(char *);
  20. void zzs_del(Sym *);
  21. void zzs_keydel(char *);
  22. Sym **zzs_scope(Sym **);
  23. Sym *zzs_rmscope(Sym **);
  24. void zzs_stat(void);
  25. Sym *zzs_new(char *);
  26. Sym *zzs_newadd(char *);
  27. char *zzs_strdup(char *);
  28. #else
  29. void zzs_init();
  30. void zzs_done();
  31. void zzs_add();
  32. Sym *zzs_get();
  33. void zzs_del();
  34. void zzs_keydel();
  35. Sym **zzs_scope();
  36. Sym *zzs_rmscope();
  37. void zzs_stat();
  38. Sym *zzs_new();
  39. Sym *zzs_newadd();
  40. char *zzs_strdup();
  41. #endif
  42.